# 时间：
# 1、运行程序后，让用户输入支付宝余额，然后打印我们的商品列表给用户。
# 商品列表
goods_list = [
    # 商品1 商品名称，商品价格，商品编号...
    # 商品模板 ： [商品名称,商品名称]
    ["iPhone 13", 8999],
    ["iPhone 13 pro", 9999],
    ["iphone 13 pro max", 11999],
    ["huawei mate 30 pro", 7999],
    ["huawei mate 50 pro", 8899],
]

# 不是所有的代码都可以一次性考虑全面！例如这里应该写一个用户商品列表
user_shopping_cart = []  # append 可以新增列表

# 用户输入： input
Alipay = int(input("请输入您的余额："))

# 打印商品列表 （规范打印，样式是先写的，然后再输入数据）
# 先设计模板样式： 商品编号：xx，商品名称：xx，商品的价格：xx 元
while True:
    print("---------【C+电子产品商城列表】---------")
    for i in range(len(goods_list)):
        # print("商品编号：%s，商品名称：%s，商品的价格：%d 元"%(0,goods_list[0][0],goods_list[0][1]))
        print("商品编号：%s，商品名称：%s，商品的价格：%d 元" % (i, goods_list[i][0], goods_list[i][1]))

    # 2、让用户输入商品编号进行商品的购买。
    choice = input("请输入正确的商品编号(输入“q”可以退出购买)：")  # 用户输入可能不是数值，也可能是
    if choice.isdigit():
        # 用int转换数据类型为数值
        choice = int(choice)
        # 是正确的编号
        if choice < len(goods_list):  # 商品的信息：goods_list[choice] ，商品名称：goods_list[choice][0]  商品价格:goods_list[choice][1]
            # 1. 看一看用户钱够不够； Alipay VS goods_list[choice][1]
            if Alipay < goods_list[choice][1]:
                print("您的余额不够，请更换支付方式")
            # 2. 如果够的话，赶紧扣钱！把商品加到购物车
            else:
                Alipay = Alipay - goods_list[choice][1]
                user_shopping_cart.append(goods_list[choice])
                # 提示用户：本次购买成功
                print("【%s】 已经添加到您的购物车，您的余额还有 【%d】 元" % (goods_list[choice][0], Alipay))

        # 不是正确的编号
        else:
            print("您输入的商品不存在，请输入正确的编号")
    elif choice == "q":
        print("-----------------", '\n', "您的购物车：%s " % (user_shopping_cart), '\n', "您的余额还有：%d 元" % (Alipay))
        break
        # 两种情况：
        # 1. 按照我们的要求输入的文本，例如：输入q表示quit退出的意思

        # 2. 输入的不符合我们的要求的文本
    else:
        print("请输入正确的商品编号！！或者输入“q”退出")